<?php

namespace Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * User
 *
 * @ORM\Table(name="user")
 * @ORM\Entity
 */
class User
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="bigint", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    protected $id;

    /**
     * @var string
     *
     * @ORM\Column(name="uuid", type="string", length=32, nullable=true)
     */
    protected $uuid;

    /**
     * @var string
     *
     * @ORM\Column(name="username", type="string", length=250, nullable=false)
     */
    protected $username;

    /**
     * @var string
     *
     * @ORM\Column(name="gender", type="string", length=1, nullable=true)
     */
    protected $gender;

    /**
     * @var integer
     *
     * @ORM\Column(name="credits", type="integer", nullable=false)
     */
    protected $credits;

    /**
     * @var integer
     *
     * @ORM\Column(name="honor", type="integer", nullable=false)
     */
    protected $honor;

    /**
     * @var integer
     *
     * @ORM\Column(name="poker_points", type="integer", nullable=false)
     */
    protected $pokerPoints;

    /**
     * @var integer
     *
     * @ORM\Column(name="reference_points", type="integer", nullable=false)
     */
    protected $referencePoints;

    /**
     * @var integer
     *
     * @ORM\Column(name="game_points", type="integer", nullable=false)
     */
    protected $gamePoints;

    /**
     * @var integer
     *
     * @ORM\Column(name="health", type="integer", nullable=false)
     */
    protected $health;

    /**
     * @var float
     *
     * @ORM\Column(name="cash", type="decimal", nullable=false)
     */
    protected $cash;

    /**
     * @var float
     *
     * @ORM\Column(name="bullets", type="decimal", nullable=false)
     */
    protected $bullets;

    /**
     * @var integer
     *
     * @ORM\Column(name="shooting_points", type="integer", nullable=false)
     */
    protected $shootingPoints;

    /**
     * @var integer
     *
     * @ORM\Column(name="jail_bust_experience", type="integer", nullable=false)
     */
    protected $jailBustExperience;

    /**
     * @var string
     *
     * @ORM\Column(name="will_number", type="string", length=36, nullable=false)
     */
    protected $willNumber;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="killed_on", type="datetime", nullable=true)
     */
    protected $killedOn;

    /**
     * @var string
     *
     * @ORM\Column(name="quote", type="string", length=250, nullable=true)
     */
    protected $quote;

    /**
     * @var string
     *
     * @ORM\Column(name="profile_text", type="text", nullable=true)
     */
    protected $profileText;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="created_on", type="datetime", nullable=false)
     */
    protected $createdOn;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="last_modified", type="datetime", nullable=false)
     */
    protected $lastModified;

    /**
     * @var \Entity\Country
     *
     * @ORM\ManyToOne(targetEntity="Entity\Country")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="country_id_location", referencedColumnName="id")
     * })
     */
    protected $countryLocation;

    /**
     * @var \Entity\Image
     *
     * @ORM\ManyToOne(targetEntity="Entity\Image")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="image_id", referencedColumnName="id")
     * })
     */
    protected $image;

    /**
     * @var \Entity\Member
     *
     * @ORM\ManyToOne(targetEntity="Entity\Member")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="member_id", referencedColumnName="id")
     * })
     */
    protected $member;


    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set uuid
     *
     * @param string $uuid
     * @return User
     */
    public function setUuid($uuid)
    {
        $this->uuid = $uuid;
    
        return $this;
    }

    /**
     * Get uuid
     *
     * @return string 
     */
    public function getUuid()
    {
        return $this->uuid;
    }

    /**
     * Set username
     *
     * @param string $username
     * @return User
     */
    public function setUsername($username)
    {
        $this->username = $username;
    
        return $this;
    }

    /**
     * Get username
     *
     * @return string 
     */
    public function getUsername()
    {
        return $this->username;
    }

    /**
     * Set gender
     *
     * @param string $gender
     * @return User
     */
    public function setGender($gender)
    {
        $this->gender = $gender;
    
        return $this;
    }

    /**
     * Get gender
     *
     * @return string 
     */
    public function getGender()
    {
        return $this->gender;
    }

    /**
     * Set credits
     *
     * @param integer $credits
     * @return User
     */
    public function setCredits($credits)
    {
        $this->credits = $credits;
    
        return $this;
    }

    /**
     * Get credits
     *
     * @return integer 
     */
    public function getCredits()
    {
        return $this->credits;
    }

    /**
     * Set honor
     *
     * @param integer $honor
     * @return User
     */
    public function setHonor($honor)
    {
        $this->honor = $honor;
    
        return $this;
    }

    /**
     * Get honor
     *
     * @return integer 
     */
    public function getHonor()
    {
        return $this->honor;
    }

    /**
     * Set pokerPoints
     *
     * @param integer $pokerPoints
     * @return User
     */
    public function setPokerPoints($pokerPoints)
    {
        $this->pokerPoints = $pokerPoints;
    
        return $this;
    }

    /**
     * Get pokerPoints
     *
     * @return integer 
     */
    public function getPokerPoints()
    {
        return $this->pokerPoints;
    }

    /**
     * Set referencePoints
     *
     * @param integer $referencePoints
     * @return User
     */
    public function setReferencePoints($referencePoints)
    {
        $this->referencePoints = $referencePoints;
    
        return $this;
    }

    /**
     * Get referencePoints
     *
     * @return integer 
     */
    public function getReferencePoints()
    {
        return $this->referencePoints;
    }

    /**
     * Set gamePoints
     *
     * @param integer $gamePoints
     * @return User
     */
    public function setGamePoints($gamePoints)
    {
        $this->gamePoints = $gamePoints;
    
        return $this;
    }

    /**
     * Get gamePoints
     *
     * @return integer 
     */
    public function getGamePoints()
    {
        return $this->gamePoints;
    }

    /**
     * Set health
     *
     * @param integer $health
     * @return User
     */
    public function setHealth($health)
    {
        $this->health = $health;
    
        return $this;
    }

    /**
     * Get health
     *
     * @return integer 
     */
    public function getHealth()
    {
        return $this->health;
    }

    /**
     * Set cash
     *
     * @param float $cash
     * @return User
     */
    public function setCash($cash)
    {
        $this->cash = $cash;
    
        return $this;
    }

    /**
     * Get cash
     *
     * @return float 
     */
    public function getCash()
    {
        return $this->cash;
    }

    /**
     * Set bullets
     *
     * @param float $bullets
     * @return User
     */
    public function setBullets($bullets)
    {
        $this->bullets = $bullets;
    
        return $this;
    }

    /**
     * Get bullets
     *
     * @return float 
     */
    public function getBullets()
    {
        return $this->bullets;
    }

    /**
     * Set shootingPoints
     *
     * @param integer $shootingPoints
     * @return User
     */
    public function setShootingPoints($shootingPoints)
    {
        $this->shootingPoints = $shootingPoints;
    
        return $this;
    }

    /**
     * Get shootingPoints
     *
     * @return integer 
     */
    public function getShootingPoints()
    {
        return $this->shootingPoints;
    }

    /**
     * Set jailBustExperience
     *
     * @param integer $jailBustExperience
     * @return User
     */
    public function setJailBustExperience($jailBustExperience)
    {
        $this->jailBustExperience = $jailBustExperience;
    
        return $this;
    }

    /**
     * Get jailBustExperience
     *
     * @return integer 
     */
    public function getJailBustExperience()
    {
        return $this->jailBustExperience;
    }

    /**
     * Set willNumber
     *
     * @param string $willNumber
     * @return User
     */
    public function setWillNumber($willNumber)
    {
        $this->willNumber = $willNumber;
    
        return $this;
    }

    /**
     * Get willNumber
     *
     * @return string 
     */
    public function getWillNumber()
    {
        return $this->willNumber;
    }

    /**
     * Set killedOn
     *
     * @param \DateTime $killedOn
     * @return User
     */
    public function setKilledOn($killedOn)
    {
        $this->killedOn = $killedOn;
    
        return $this;
    }

    /**
     * Get killedOn
     *
     * @return \DateTime 
     */
    public function getKilledOn()
    {
        return $this->killedOn;
    }

    /**
     * Set quote
     *
     * @param string $quote
     * @return User
     */
    public function setQuote($quote)
    {
        $this->quote = $quote;
    
        return $this;
    }

    /**
     * Get quote
     *
     * @return string 
     */
    public function getQuote()
    {
        return $this->quote;
    }

    /**
     * Set profileText
     *
     * @param string $profileText
     * @return User
     */
    public function setProfileText($profileText)
    {
        $this->profileText = $profileText;
    
        return $this;
    }

    /**
     * Get profileText
     *
     * @return string 
     */
    public function getProfileText()
    {
        return $this->profileText;
    }

    /**
     * Set createdOn
     *
     * @param \DateTime $createdOn
     * @return User
     */
    public function setCreatedOn($createdOn)
    {
        $this->createdOn = $createdOn;
    
        return $this;
    }

    /**
     * Get createdOn
     *
     * @return \DateTime 
     */
    public function getCreatedOn()
    {
        return $this->createdOn;
    }

    /**
     * Set lastModified
     *
     * @param \DateTime $lastModified
     * @return User
     */
    public function setLastModified($lastModified)
    {
        $this->lastModified = $lastModified;
    
        return $this;
    }

    /**
     * Get lastModified
     *
     * @return \DateTime 
     */
    public function getLastModified()
    {
        return $this->lastModified;
    }

    /**
     * Set countryLocation
     *
     * @param \Entity\Country $countryLocation
     * @return User
     */
    public function setCountryLocation(\Entity\Country $countryLocation = null)
    {
        $this->countryLocation = $countryLocation;
    
        return $this;
    }

    /**
     * Get countryLocation
     *
     * @return \Entity\Country 
     */
    public function getCountryLocation()
    {
        return $this->countryLocation;
    }

    /**
     * Set image
     *
     * @param \Entity\Image $image
     * @return User
     */
    public function setImage(\Entity\Image $image = null)
    {
        $this->image = $image;
    
        return $this;
    }

    /**
     * Get image
     *
     * @return \Entity\Image 
     */
    public function getImage()
    {
        return $this->image;
    }

    /**
     * Set member
     *
     * @param \Entity\Member $member
     * @return User
     */
    public function setMember(\Entity\Member $member = null)
    {
        $this->member = $member;
    
        return $this;
    }

    /**
     * Get member
     *
     * @return \Entity\Member 
     */
    public function getMember()
    {
        return $this->member;
    }
}
